import cv2
import numpy as np

# 加载彩色灰度图像
img = cv2.imread(r'./01.png')

# 创建黑色的图像
img = np.zeros((500, 500, 3), dtype=np.uint8)


cv2.namedWindow('image', cv2.WINDOW_NORMAL)

# 绘制一条厚度为2的蓝色对角线
cv2.line(img, (50, 50), (300, 350), (255, 255, 0), 2)

# 要绘制一个圆，需要其中心坐标和半径
cv2.circle(img, (250, 250), 90, (0, 0, 255), -1)

# 要绘制矩形，您需要矩形的左上角和右下角
cv2.rectangle(img, (10, 400), (100, 480), (255, 0, 0), -1)

# 要绘制椭圆，一个参数是中心位置（x，y）。下一个参数是轴长度（长轴长度，短轴长度）。
# angle是椭圆沿逆时针方向旋转的角度。startAngle和endAngle表示从主轴沿顺时针方向测量的椭圆弧的开始和结束。
cv2.ellipse(img, (300, 400), (150, 100), -30, 60, 300, (0, 255, 255), -1)

#要将文本放入图像中， - 您要写入的文字数据 - 您要放置它的位置坐标（即数据开始的左下角）。
# - 字体类型 - 字体比例（指定字体大小） - 常规的内容，例如颜色，厚度，线条类型等。
cv2.putText(img, 'deep learning', (30, 360), cv2.FONT_HERSHEY_TRIPLEX, 10, (0, 0, 255))


# 在窗口中显示图像。窗口自动适合图像尺寸。
cv2.imshow('image', img)
print(img.shape)
# cv.waitKey()是一个键盘绑定函数。其参数是以毫秒为单位的时间。
cv2.waitKey(0)

# cv.destroyAllWindows()只会破坏我们创建的所有窗口。如果要销毁任何特定的窗口，请使用函数 cv.destroyWindow()在其中传递确切的窗口名称作为参数。
cv2.destroyAllWindows()